其他
字段抽取:异构数据结构化的利器
导读 鸿鹄系统旨在提供一站式的异构数据平台,提供了一套完整的关于数据分析的开箱即用的用户界面,简化整体的数据分析过程。字段抽取功能,实现了鸿鹄系统中重要的技术特点——读时建模,提供了端到端的海量异构数据处理工具,提高了数据分析的效率和准确性。下面将针对字段抽取、读时建模的概念及其相关关系、字段抽取的实现以及具体日志数据实例进行详细介绍,希望可以给大家带来一些启示。
分享嘉宾|王川 上海炎凰数据科技有限公司 软件研发工程师编辑整理|王帅内容校对|李瑶出品社区|DataFun
01
字段抽取与读时建模
1. Why 读时建模?
海量机器数据的产生,会消耗大量存储空间,同时要求较高的写入速度; 微服务架构流行,整体业务迭代迅速,数据(日志)格式变化频繁,数据格式统一工作需要耗费较高的时间和物理成本; 格式不统一的数据写入关系型数据库,需要维护额外的 ETL 任务(如数据清理、转换等),一方面增加系统维护成本,另一方面额外的性能开销可能导致数据写入速度降低。
2. 字段抽取的定义
字段抽取功能实现原理
1. 字段抽取规则
通常针对某一个字段抽取规则并不需要将其应用到原始数据的整体; 只需要指定来源字段,如数据的时间信息进行详细抽取,或对日志的用户行为做分析。一方面可以降低字段抽取规则应用时所消耗的系统资源;另一方面,限定了字段抽取应用的原始文本内容,可以有效避免误抽取。
原始数据本身(即 _message 字段)——鸿鹄系统内置 任意通过字段抽取规则富化出的新字段。(该抽取规则必须在生成来源字段的抽取规则之后定义)
绿色部分:日志产生的时间信息 红色部分:日志对应的模块信息 蓝色部分:日志对应的详细信息
用户手工撰写正则表达式 通过 UI 界面,划词自动生成正则表达式
2. 数据源类型绑定
3. 规则应用界面
内置或自定义的若干个规则应用 每个规则应用绑定到哪些数据源类型 可点击左侧加号按钮,对规则应用下的某一抽取规则进行展开 可以查看抽取规则的执行顺序 抽取规则的元素组成
字段抽取示例
确定查询结果,即确定对哪些目标数据进行字段抽取; 选择具体样例事件,用于预览字段抽取规则的部分结果进行分析; 抽取规则编辑、变形、修改,预览读时建模的整体效果,保存抽取规则; 在查询页面,查询原始目标数据,自动应用定义的抽取规则来动态富化出分析所需的额外字段。
1. 检索原始数据
通过查询检索原始数据,即字段抽取的目标数据。输入类似于 select * from xxx event set 的查询,为后台系统提供字段抽取所需的数据源字段及其对应的数据源类型。 确保查询结果包含自定义的数据源类型字段,否则无法应用到原有的数据中。最佳实践:使用自定义的数据源类型。 点击抽取新字段进入字段抽取页面。
2. 选取样例事件
选定进行字段抽取的目标数据源类型,后续系统会自动将新建的规则应用与数据源类型进行绑定。 通过过滤条件对原始事件进行筛选,如筛选脏数据等。 基于查询结果表格中选取任意一个具体的样例事件,进到字段抽取规则设置页面。对用户选择的样例事件及样例事件字段抽取结果进行预览。中间的用户编辑区域(新增、删除或者编辑抽取规则),可选择来源字段,也可选择抽取规则。
3. 抽取规则设置
用户选择的样例事件及中间的用户编辑区域(新增、删除或者编辑抽取规则),可选择来源字段,也可选择抽取规则。 完成字段抽取规则的编辑后,下方是样例事件字段抽取结果的预览,如富化出的字段。
选择一个来源字段(默认原始数据本身,_messsage 字段); 选择抽取规则为正则抽取; 在规则下方的文本框中,划取想要抽取的文本内容,可快速选取一部分关键信息进行字段富化,并对字段内容起个名字。
4. 抽取规则预览
5. 查询结果
原始的查询结果:通过 select* from dataset,只能查询到系统中预保存的一些原始字段,如数据来源、数据的数据源类型以及抽取时间等。 应用字段抽取规则后:同样的查询,会展示出富化的新字段。因此,引用了抽取规则后,可以非常快速地完成查询的读时建模。
问答环节
分享嘉宾
INTRODUCTION
王川
上海炎凰数据科技有限公司
软件研发工程师
毕业于上海交通大学,先后任职于 SAP,Splunk,十年以上软件研发经验。目前主要负责炎凰数据数据采集前后端,数据处理和数据可视化等工作。
限时免费资料
往期优质文章推荐
往期推荐